﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DiscoveryLogic.DataViz.NetworkDiagram.NetworkData
{
    /// <summary>
    /// 
    /// </summary>
    [Serializable]
    public class PersonDO : BaseEntity
    {
        private string _FirstName;

        /// <summary>
        /// 
        /// </summary>
        public PersonDO(string idField, string nameField) 
            : base(NetworkData.EntityType.Persons, idField, nameField)
        {
        }

        private string _PersonID;
        /// <summary></summary>
        public string PersonID
        {
            get
            {
                return this._PersonID;
            }
            set
            {
                this._PersonID = value;
            }
        }

        /// <summary></summary>
        public string PersonName
        {
            get
            {
                return this.LastName +", " + this.FirstName;
            }
        }

        /// <summary></summary>
        public string FirstName
        {
            get
            {
                return this._FirstName;
            }
            set
            {
                this._FirstName = value;
            }
        }

        private string _LastName;
        /// <summary></summary>
        public string LastName
        {
            get
            {
                return this._LastName;
            }
            set
            {
                this._LastName = value;
            }
        }

        private string _MidName;
        /// <summary></summary>
        public string MidName
        {
            get
            {
                return this._MidName;
            }
            set
            {
                this._MidName = value;
            }
        }

        private string _SSN;
        /// <summary></summary>
        public string SSN
        {
            get
            {
                return this._SSN;
            }
            set
            {
                this._SSN = value;
            }
        }

        private DateTime _DOB;
        /// <summary></summary>
        public DateTime DOB
        {
            get
            {
                return this._DOB;
            }
            set
            {
                this._DOB = value;
            }
        }

        private string _Title;
        /// <summary></summary>
        public string Title
        {
            get
            {
                return this._Title;
            }
            set
            {
                this._Title = value;
            }
        }

        private string _NameSuffix;
        /// <summary></summary>
        public string NameSuffix
        {
            get
            {
                return this._NameSuffix;
            }
            set
            {
                this._NameSuffix = value;
            }
        }

        private string _Degree;
        /// <summary></summary>
        public string Degree
        {
            get
            {
                return this._Degree;
            }
            set
            {
                this._Degree = value;
            }
        }

        #region Overrides of BaseEntity

        /// <summary>
        /// 
        /// </summary>
        public override List<string> GetDescriptiveFieldNames()
        {
            throw new System.NotImplementedException();
        }

        /// <summary>
        /// 
        /// </summary>
        public override List<string> GetIdentifyingFieldNames()
        {
            throw new System.NotImplementedException();
        }

        /// <summary>
        /// 
        /// </summary>
        public override List<string> GetAssociativeFieldNames()
        {
            throw new System.NotImplementedException();
        }

        #endregion
    }
}
